Laser printers often use several memory circuits for storing information during operation of the printer. For proper operation, it is important that each of the memories is in proper operating condition. There are a number of reasons why a memory may fail: a bit in the memory may stick to either a logical "1" or a logical "0", a bit may be unstable and switch between logic states, a low impedance path may exist between data bits of a word, or a low impedance path may exist between bits addressing the memory. It is desirable, therefore, to test the laser printer's memory circuits prior to beginning operation of the laser printer.
Most printers, and all laser and inkjet printers, contain a memory for storing data and instructions defining the image to be printed. Some laser jet printers additional contain additional memory for use in enhanced features, such as anti-aliasing and image decompression. In cases where the memory must operate at high speeds, one or more SRAMs (Static Random Access Memory) are used, as opposed to the DRAMs (Dynamic Random Access Memory), which typically are used to store the data and instructions.
In the prior art, the printer's processor executes a subroutine, as part of its power-up self-test, that writes data to each memory location and reads the data from memory to verify that the information was properly saved. Typically, the test is uncomplicated and will not detect all of the possible problems listed above. More complex tests require more processor cycles for each memory location tested and, therefore, increase the time to perform the test. More importantly, more complex tests reduce the rate at which the processor can access the memory. Therefore, the memory is not tested at the same speed which would be required during operation of the printer. Consequently, the tests are inadequate to verify the integrity of the memory at normal operating speeds.
Therefore, a need has arisen in the industry for a printer with a memory testing circuit which tests memory at substantially its normal operating speed.